package com.shiyun.disaster_station.interfaces;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * 类 描 述: 根Mapper，给表Mapper继承用的，可以自定义通用方法
 * 作   者: 史云
 * @author 史云
 * 时   间: 2022年02月28日  14:37:00
 */
public interface RootMapper<T> extends BaseMapper<T> {

    /**
     * 方法描述: 自定义批量插入
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     * 作   者: 史 云
     * 时   间: 2022年02月28日 14:39:00
     */
    int insertBatch(@Param("list") List<T> list);

    /**
     * 方法描述: 自定义批量更新，条件为主键
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     * 作   者: 史 云
     * 时   间: 2022年02月28日 14:39:00
     */
    void updateBatch(@Param("list") List<T> list);

    /**
     * 方法描述: mybatis-plus自带的批量新增操作
     * 作   者: 史 云
     * 时   间: 2022年03月16日 17:52:00
     */
    void insertBatchSomeColumn(Collection<T> entityList);
}

